//package com.win.config;
//
//import com.fyl.core.advance.constant.enums.CommonResponseEnum;
//import com.fyl.verify.service.VerifyService;
//import com.win.oauth.entity.UserRoleRel;
//import com.win.oauth.service.IUserRoleRelService;
//import com.win.oauth.utils.TokenHolder;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.List;
//import java.util.stream.Collectors;
//
//@Configuration
//public class VerifyConfig {
//
//    @Autowired
//    IUserRoleRelService userRoleRelService;
//
//    @Bean
//    public VerifyService verifyService() {
//        return (request, response) -> {
//            String accessToken = request.getHeader("accessToken");
//            if (StringUtils.isBlank(accessToken)){
//                return CommonResponseEnum.UNAUTHORIZED;
//            }
//            Long userId = Long.valueOf(accessToken);
//            List<UserRoleRel> userRoleRels = userRoleRelService.lambdaQuery().eq(UserRoleRel::getUserId, userId).list();
//
//            List<Long> roleIds = userRoleRels.stream().map(UserRoleRel::getRoleId).collect(Collectors.toList());
//            TokenHolder.TokenEntity token = new TokenHolder.TokenEntity();
//            token.setAccessToken(accessToken);
//            token.setUserId(userId);
//            token.setRoleIds(roleIds);
//            TokenHolder.setToken(token);
//            String requestURI = request.getRequestURI();
//            System.err.println(requestURI);
//            return CommonResponseEnum.SUCCESS;
//        };
//    }
//}
